/*
 Problem Description
有一楼梯共M级，刚开始时你在第一级，若每次只能跨上一级或二级，要走上第M级，共有多少种走法？
Input
输入数据首先包含一个整数N，表示测试实例的个数，然后是N行数据，每行包含一个整数M（1<=M<=40）,表示楼梯的级数。
Output
对于每个测试实例，请输出不同走法的数量
Sample Input
2
2
3
Sample Output
1
2
 */
package com.yuan.algorithms.training20150719;

import java.util.Scanner;

public class 超级楼梯 {

	static int[] arr = new int[41];
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		arr[1] = 0;arr[2] = 1;arr[3] = 2;
		for (int i = 4; i < arr.length; i++) {
			arr[i] = arr[i-1] + arr[i-2];
		}
		while(sc.hasNext()) {
			int n = sc.nextInt();
			while(--n>=0) {
				int m = sc.nextInt();
				System.out.println(arr[m]);
			}
		}
	}

}
